package P029_PriorityBasicType;

import org.junit.Test;

/**
 * 优先使用基本类型
 *
 * 基本类型可以先加宽再转变为宽类型的包装类型,但不能直接转变为宽类型的包装类型
 */
public class PriorityBasicType {

    @Test
    public void Test1() {
        int i = 100;
        f(i);
        Integer a = Integer.valueOf(i);
        f(a);
        f((Long)(long)a);// 先加宽再包装
    }

    /**
     * 自动拆装箱只有在赋值时才会发生,和重载没有关系
     * @param a
     */
    private static void f(long a) {
        System.out.println("基本类型:"+a);
    }

    private static void f(Long a) {
        System.out.println("包装类型:"+a);
    }
}
